package com.yeyks.order.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * @author fuchangshuai
 * @date 2019/05/09 12:27
 */
@Data
@ApiModel
public class CreateOrderParam implements Serializable {
    private static final long serialVersionUID = 8197276699476193608L;

    /**
     * token
     */
    @ApiModelProperty("token(必填)")
    @NotBlank(message = "token不能为空")
    private String token;

    /**
     * 入住时间
     */
    @ApiModelProperty("入住时间(必填)")
    @NotNull(message = "入住时间不能为空")
    private Long checkInDate;

    /**
     * 离店时间
     */
    @ApiModelProperty("离店时间(必填)")
    @NotNull(message = "离店时间不能为空")
    private Long checkOutDate;

    /**
     * 预订房间数
     */
    @ApiModelProperty("预订房间数")
    private Integer count = 1;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 用户券id(臻选酒店不用传)
     */
    @ApiModelProperty("用户券id(臻选酒店不用传)")
    private Integer couponId = 0;

    /**
     * 房间id
     */
    @ApiModelProperty("房间id(必填)")
    @NotNull(message = "房间id不能为空")
    private Integer roomId;

    /**
     * 下单用户真实姓名
     */
    @ApiModelProperty("下单用户真实姓名(必填)")
    @NotBlank(message = "用户真实姓名不能为空")
    private String name;

    /**
     * 下单用户手机号
     */
    @ApiModelProperty("下单用户手机号(必填)")
    @NotBlank(message = "用户手机号不能为空")
    @Pattern(regexp = "^(1)\\d{10}$", message = "手机号格式有误")
    private String phone;

    /**
     * 是否是臻选酒店订单
     */
    @ApiModelProperty(value = "是否是臻选酒店订单(true是，false不是)", required = true)
    private Boolean vipOrder;
}
